// file_upload/pages/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    fileList: [],
    fileSrc: '',
    fileSize: '',
    videoSrc: '',
    videoSize: '',
    // videoSrc: 'http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400'
    vantUploadType: '',
    vantUploadSize: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  afterRead(event) {
    console.log(event);
    const { file } = event.detail;
    // 当设置 mutiple 为 true 时, file 为数组格式，否则为对象格式
    wx.uploadFile({
      url: 'http://192.168.0.249:8080/mpms/v1/file/upload', // 仅为示例，非真实的接口地址
      filePath: file.url,
      name: 'file',
      // formData: { user: 'test' },
      success: (fileRes) => {
        console.log(fileRes);
        const res = JSON.parse(fileRes.data)
        console.log(res);
        // 上传完成需要更新 fileList
        const { fileList = [] } = this.data;
        fileList.push({ ...file, url: res.data });
        this.setData({ fileList, vantUploadSize: file.size, vantUploadType: file.type });
      },
    });
  },

  // 选择本地相册图片
  navToalbum() {
    wx.chooseMedia({
      count: 1,
      mediaType: ['image','video'],
      sourceType: ['album', 'camera'],
      maxDuration: 30,
      success: (res) => {
        console.log('开始上传图片')
        var file = res.tempFiles[0].tempFilePath;
        var size = res.tempFiles[0].size;
        var fileType = res.tempFiles[0].fileType;
        console.log(file, size);
        if (fileType === 'image') {
          this.setData({
            fileSize: size,
          })
        }else if (fileType === 'video') {
          this.setData({
            videoSize: size,
          })
        }
        this.uploadPicResponse('http://192.168.0.249:8080/mpms/v1/file/upload', file, fileType)
      },
      fail: err => {
        console.log('chooseMedia',err)
      }
    })
  },

    /**
   * 
   * @param {string} url 解析图片的服务器地址
   * @param {string} filePath 解析图片的本地路径
   * @param {object} formData 请求中其他额外的参数
   * @param {string} formDcameraTypeata 获取图片的类型（phone手机，instrument测肤仪）
   */
  // 上传图片到服务器解析返回结果
  uploadPicResponse(url, filePath, fileType, formData){
    //上传图片到服务器
    wx.uploadFile({
      url, //上传服务器地址
      filePath, //要上传文件资源的路径(本地路径)
      name: 'file',
      // header: {
      //   Authorization: 'Bearer ' + wx.getStorageSync('token')
      // },
      // formData,
      //上传成功回调
      success: (res) => {
        console.log(res)
        var data=JSON.parse(res.data);
        if (data.code === 200) {
          console.log(data.data);
          if (fileType === 'image') {
            this.setData({
              fileSrc: data.data,
            })
          }else if (fileType === 'video') {
            this.setData({
              videoSrc: data.data,
            })
          }
        }
      },
      //上传失败回调
      fail: (err) => {
        console.log(err);
      },
    })
  },

  navToMutiple(){
    wx.navigateTo({
      url: '/file_upload/pages/multiple/index',
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})